Various improvements to the existing set of preload tests * Align the test names with the rest of the tests, i.e. use '-' instead of '_'. * Add feature detection to make sure the tests consistently fail in non-supporting browsers. * Make sure that download verification is based on the URL's existence in ResourceTiming, rather on the overall number of resources downloaded, which can be misleading.
diff --git a/preload/single-download-late-used-preload.html b/preload/single-download-late-used-preload.html new file mode 100644 index 0000000..5549cb8 --- /dev/null +++ b/preload/single-download-late-used-preload.html 
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<title>Ensure preloaded resources are not downloaded again when used</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/preload/resources/preload_helper.js"></script> +<link rel=preload href="resources/square.png?pipe=trickle(d1)" as=image> +<script> + var link = document.getElementsByTagName("link")[0] + assert_equals(link.as, "image"); + link.addEventListener("load", () => { + verifyPreloadAndRTSupport(); + verifyNumberOfDownloads("resources/square.png?pipe=trickle(d1)", 1); + var img = document.createElement("img"); + img.src = "resources/square.png?pipe=trickle(d1)"; + img.onload = () => { + verifyNumberOfDownloads("resources/square.png?pipe=trickle(d1)", 1); + done(); + }; + document.body.appendChild(img); + }); +</script> +<body>